package de.lns.entities.turrets;

import java.nio.FloatBuffer;
import java.util.ArrayList;

import de.lns.entities.ai.HomingBulletai;
import de.lns.entities.effect.Damage;
import de.lns.entities.effect.Damageeffect;
import de.lns.entities.effect.Effect;
import de.lns.entities.effect.InstantDamageEffect;
import de.lns.entities.effect.ModifierEffect;
import de.lns.entities.mobs.Mob;
import de.lns.entities.mobs.Modification;
import de.lns.level.Level;
import de.lns.render.ModelFactory;

public class ExplosionShot extends AOEBullet{

	public ExplosionShot(double posX, double posY, Mob target) {
		super(posX, posY, target);
		setSpeed(100);
        ai = new HomingBulletai(this);
        setRange(80);
	}
	
	private static double radius = 10;
	private static String texturepath="entities/BulletFire.png";
	private static FloatBuffer mesh=ModelFactory.genRectMesh((float)radius*2, (float)radius*2);
	private static int textureid;
	static{
		textureid = de.lns.render.TextureLoader.loadTexture(texturepath);
	}
	
	@Override
	public FloatBuffer getMesh(){
		return mesh;
	}
	    
	public int getTextureID(){
	    	return textureid;
	}
	
	@Override
	protected ArrayList<Effect> getEffects(Mob mob) {
		ArrayList<Effect> effects = new ArrayList<Effect>();
		effects.add(new InstantDamageEffect(mob, Damage.explosion, 80, 1));
		return null;
	}

}


//poison, 4 dmg per sec over 3 sec, 90 felder per sec, 90 felder range, 2.5 shots per sec, 1 mob
//
//fire, 60 dmg over 2 sec, 1% armorpen 3 sec, 7 felder per sec, 85 felder range, 1 shot per sec, 1 mob
//
//explosion, (70 dmg, aoe 100% to 30%, 40 felder per sec, 120 felder range, 0.5 shots per sec, Schuss ohne mobfinding)
//
//magical, 30 dmg, 50% slow 3 sec, 35 felder per sec, 70 felder range, 1 shot per sec, 3 mobs
//
//implosion, 30 dmg, 2,5% armorpen for 2 sec, 55 felder per sec, 80 felder range, 1.5 shots per sec, 1 mob
//
//physical, 10 dmg, 1% aromrpen for 0.2 sec, 135 felder per sec, 90 felder range, 3,5 shots per sec, 1 mob